import { getAction, postAction } from '../controller';

export interface CheckOrderSaveReqVO {
  /**
   * 套餐ID
   */
  packageId: number
  /**
   * 预约日期
   */
  appointmentDate: string
  /**
   * 检验科地址
   */
  checkAddress?: string
  /**
   * 科室ID
   */
  departmentId?: number
  /**
   * 科室名称
   */
  departmentName?: string
  /**
   * 主键ID
   */
  id?: number
  orderNo?: string
  /**
   * 患者ID
   */
  patientId: number
  /**
   * 患者姓名
   */
  patientName: string
  /**
   * 支付状态（0:未支付 1:已支付 2:已过期 3:已取消）
   */
  paymentStatus?: number
  /**
   * 支付时间
   */
  paymentTime?: string
  /**
   * 支付类型（0:现金 1:微信 2:支付宝 3:银行卡 4:医保）
   */
  paymentType: number
  /**
   * 备注信息
   */
  remark?: string
  /**
   * 预约时间段
   */
  timePeriod: string
  /**
   * 预约时间段
   */
  timePeriodId: string
}

export interface OrderSaveResVO {
  /**
   * 订单编号
   */
  orderNo: string

  /**
   * 支付订单ID
   */
  payOrderId: number
}

export interface CheckPaySuccessRespVO {
  /**
   * 预约日期
   */
  appointmentDate?: string
  /**
   * 地址
   */
  checkAddress?: string
  /**
   * 订单编号
   */
  orderNo?: string
  /**
   * 套餐名称
   */
  packageName?: string
  /**
   * 时间段
   */
  timePeriod?: string
  /**
   * 支付金额
   */
  totalFee?: number
}

export const CheckOrderApi = {
  /**
   * 创建检验检查订单
   * @param params
   * @returns
   */
  createCheckOrder: (params: CheckOrderSaveReqVO) => {
    return postAction<OrderSaveResVO>('/system/check-order/create', params);
  },

  /**
   * 根据订单编号获取订单详情
   * @param orderNo
   * @returns
   */
  getCheckOrderDetail: (orderNo: string) => {
    return getAction<CheckPaySuccessRespVO>('/system/check-order/getByOrderNo', { orderNo });
  }
};
